subroutine effectt2(t2, t1, icore, fact)
!use common 
use mod_symm
use mod_iop
use mod_size
use mod_orbit
use mod_ioff 
implicit none
real*8, intent(inout) :: fact
real*8, intent(inout) :: icore(*)
real*8, intent(inout) :: t2(*), t1(*)
if(prec==8.and.igpu==0) then 
  call effectt2_d(t2, t1, icore, fact)
elseif(prec==4.and.igpu==0) then 
  call effectt2_s(t2, t1, icore, fact)
elseif(prec==8.and.igpu==1) then 
  call effectt2_dg(t2, t1, icore, fact)
elseif(prec==4.and.igpu==1) then 
  call effectt2_sg(t2, t1, icore, fact)
endif
!
return
end
